package com.easyplan.planningresultreciver.domain;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.List;

public class PlannedResult {

    /**
     * 规划ID，用于识别当次规划的输入对象
     * 对应于ProjectPlanningDataObjectSerial与OrderPlanningDataObjectSerial的id
     */
    @JSONField(ordinal = 1)
    private Long planningId;

    /**
     * 规划编号
     */
    @JSONField(ordinal = 2)
    private String code;

    /**
     * 引擎返回的反馈识别码
     */
    @JSONField(ordinal = 3)
    private String feedbackCode;

    /**
     * 该属性反映了当前结果所处的规划状态。
     * 当开始规划之前，状态均为NO_SUMMITED
     */
    @JSONField(ordinal = 4)
    private String planningStatus;

    /**
     * 当次规划的分数总结
     * 即对出每个约束的违反情况进行统计
     */
    @JSONField(ordinal = 5)
    private List<PlanningScore> planningScoreList;


    /**
     * 当次规划的结果提示消息
     */
    @JSONField(ordinal = 6)
    private String message;


    @JSONField(ordinal = 7)
    private List<PlannedTask> plannedTaskList;

    public Long getPlanningId() {
        return planningId;
    }

    public void setPlanningId(Long planningId) {
        this.planningId = planningId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getFeedbackCode() {
        return feedbackCode;
    }

    public void setFeedbackCode(String feedbackCode) {
        this.feedbackCode = feedbackCode;
    }

    public String getPlanningStatus() {
        return planningStatus;
    }

    public void setPlanningStatus(String planningStatus) {
        this.planningStatus = planningStatus;
    }

    public List<PlanningScore> getPlanningScoreList() {
        return planningScoreList;
    }

    public void setPlanningScoreList(List<PlanningScore> planningScoreList) {
        this.planningScoreList = planningScoreList;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public List<PlannedTask> getPlannedTaskList() {
        return plannedTaskList;
    }

    public void setPlannedTaskList(List<PlannedTask> plannedTaskList) {
        this.plannedTaskList = plannedTaskList;
    }
}
